home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Graphics Plus
/
Graphics Plus.iso
/
msdos
/
editors
/
stud
/
art.doc
next >
Wrap
Text File
|
1992-04-27
|
32KB
|
808 lines
VGA Art Studio
--------------
Version 1.00
(c) 1992 Mooose Software
------------------------------------------------------------------------------
VGA Art Studio is freeware. It may be freely copied and distributed, subject to
the following conditions:
1) VGA Art Studio may not be distributed to make a profit - ie.
VGA Art Studio must not be sold or hired.
2) VGA Art Studio may not be given away as part of a commercial package
3) If VGA Art Studio is distributed, it must be a complete, unmodified
version including documentation and this set of conditions.
The copyright for VGA Art Studio is retained by Mooose Software.
There is no warranty of VGA Art Studio's suitability for any purpose.
You use this software at your own risk.
-----------------------------------------------------------------------------
Introduction
============
VGA Art Studio is an art package for the IBM PC/AT and compatibles, designed
with both the artist and the software developer in mind. A range of features,
and a pleasant user interface make it ideal for developing nice full-screen
artwork, and its relatively straightforward file format allows software
developers to design icons, sprites, etc.. and transfer them to their own
applications. It contains features that many commercial art packages for the PC
do not, and yet once you have become acquainted with the menu/icon system, you
should find it easy to use.
VGA Art Studio was developed in C, over the course of about five months
on-and-off turbo-hacking, and the source code now runs to roughly 200K - it has
taken a lot of hard work and late-night coding sessions to complete this
package.
If you enjoy using the software, and you feel that you would like to make a
donation (to help a starving student at Bath University), then the
following address is probably the best:
Ben Stragnell
Victoria Cottage
Radway
Warwickshire
CV35 OUQ
ENGLAND
If you have any comments, criticism, problems, etc... then you can probably
reach me at :
ma1brs@gdt.bath.ac.uk
or ma1brs@uk.ac.bath.gdt (whichever!)
...but please don't get impatient about not getting a reply immediately,
(or at all!). This may well be due to circumstances beyond my control.
IMPORTANT NOTE :
This is the first release of VGA Art Studio, and it is therefore quite
likely that there are a few bugs - hopefully nothing too severe. If you
encounter any bugs in the program, then I'd be grateful if you could
drop me a line, preferably with some details about how to reproduce the
bug.
I'll try to answer problems, and listen to any sensible suggestions
or criticisms made, but I can't necessarily guarantee any help/action.
---------------------------------------------------------------------------
1.0 Getting Started
=======================
Most of the basic options in VGA Art Studio are fairly intuitive, but
the more complex ones will *definately* require you to read certain
sections of this document. Probably the easiest way to get to grips with
the program is to print out this document, and read through it while
running the program, so you can try out the more interesting looking
options!
To use VGA Art Studio, you will require the following hardware :
o PC/AT or compatible
o VGA (or above) Graphics capability
o Microsoft (tm) or compatible mouse driver
Before running the program, you may find that you need to type MOUSE to
initialize the Microsoft (tm) mouse driver. Once the driver is enabled, you can
run VGA Art Studio by typing
ART
or
ART filename.ART
You will be presented with a title screen, and an OK button. Click
the mouse on the OK button, and you will find yourself in the main editing
screen of VGA Art Studio.
There are several items of "interest" in the main editing screen. These are :
The Title/Menu bar
This bar is initially positioned at the top of the screen, and consists of a
small button on the left, and the menu titles. Clicking on one of the menu
items will cause the appropriate dialogue to be displayed. Clicking on the
button will cause the title bar to toggle between the top and bottom of the
screen, so that you can see different parts of the picture. Pressing the SPACE
bar will toggle the title bar between being turned on and turned off.
The Palette
The palette is displayed in a box, with a special bar at the top of it,
consisting of a small button, and a bar that can be used to drag the palette
around. To move that palette, click on the bar, and hold the mouse button down
while you move the mouse to the new position - you will see the outline of the
palette box moving with the mouse. When you have chosen the new position,
release the mouse button, and the palette will be repositioned.
Clicking on the smaller button has the same effect as clicking on the Palette
heading on the title bar.
Clicking on one of the colours in the palette with the left hand mouse button
will select that colour as the "current foreground colour", which is used by
most tools for drawing. Using the right hand mouse button selects the colour as
the "current background colour", which has several uses which will be defined
later.
The Main Canvas
Clicking on the main canvas will have a number of different effects, depending
on the brush/tool currently selected. Generally, the palette and title bar will
disappear, so that you can see the whole canvas while drawing. On releasing the
mouse button, they will reappear.
The Cutout
Initially, there will be no cutout present. However, certain tools allow you to
cut out an area of the picture. This cutout then "floats" on top of the
picture, and can be manipulated in a number of different ways. See the EDIT
menu, and also section 3.0.
--------------------------------------------------------------------------
2.0 The Menus themselves
============================
The menus themselves each deal with different aspects of manipulating the image
that is currently displayed. We shall deal with each menu in turn.
The FILE menu
-------------
This menu deals with the transfer of image files to and from disk. The
suboptions available from the FILE menu are :
NEW
Resets the screen, after allowing you to save any changes that have been made
to the picture.
OPEN
Opens a previously saved picture. A file dialogue will be displayed, containing
a list of files in the current directory, a list of sub-directories, a text
entry field containing the current file specification, and a CANCEL button. The
two lists can be scrolled by clicking the mouse button on the arrow icons. To
select a file, simply click the mouse on the appropriate name. The same applies
to selecting a new directory. If you wish to type in either a filename, or an
ambiguous file specification, click the mouse on the text entry field. You will
then be able to type a new filespec. If you decide that you do not want to load
a file, click on the CANCEL button.
On loading some pictures, you may be given the message
"Quantize first 16 colours?"
This is because some pictures may make use of the first 16 colours of the
palette, which are reserved for use by VGA Art Studio. If you reply YES to this
prompt, the best possible match for the 1st 16 colours in the picture will be
found, thus restoring almost normal colours.
SAVE
This option allows you to write a picture onto your disk. The same file
dialogue is used as for OPEN, and the whole process is fairly self-explanatory.
If you want to know about the file compression algorithm that is used, see
appendix A.
EXIT
Simply allows you to leave VGA Art Studio.
PRINT
Invokes the printer interface. See Appendix B for details.
The EDIT menu
-------------
If you have used either of the Cutout Brushes (see BRUSH menu) to cut out a
portion of the picture, there are certain things that you can do with the
cutout.
FLIP-H
This has the effect of flipping the cutout horizontally.
FLIP-V
This has the effect of flipping the cutout vertically.
ROTATE
This option prompts for a number of degrees clockwise, and then rotates the
cutout accordingly. However, there are two important points to note when using
this command.
i) If the rotated cutout is too large for the memory buffer, it will be
clipped - ie. it will lose its edges.
ii) Carrying out a rotate will inevitably lose some detail in the cutout
(except for rotations that are a whole number of right angles). Therefore, you
should really only rotate the cutout once, to avoid excessive graininess. Later
version of VGA Art Studio will hopefully have an improved rotation algorithm to
help prevent this.
PICK
This option invokes a sub-menu, which deals with a number of "cunning"
manipulations of the cutout.
"SIZE"
After selecting this option, drag out a rectangle of appropriate size, and the
cutout will be rescaled to the new size.
Note : Shrinking the cutout inevitably loses some detail.
"WARP V"
After selecting this option, click the mouse inside a shape that has been
previously drawn. The shape will be "flood-filled", but by stretching the
cutout to fit the shape. Best to experiment with this option.
"WARP H"
Identical in operation to WARP V, but stretches the cutout in a different
direction.
FILES
This option produces a new submenu, with the following options:
"COPY TO"
This option saves the current cutout to disk, in an identical way to saving a
picture to disk.
"PASTE FROM"
This option replaces the current cutout (if one is present) with a
cutout/picture from disk. Again, the same file dialogue is used. You will be
asked
"Do you want to Quantize the cutout?"
If you have loaded a cutout that was originally saved with a different palette,
you will see that the cutout is drawn in the wrong colours. Answering YES at
this point causes the program to attempt to find the most suitable colours in
the present palette for the cutout. Answering NO will leave the cutout as
it is, and answering MERGE will attempt to create a new palette that is a
good approximation of both the palette from the cutout, and the existing
palette.
"CLEAR"
This option simply removes the cutout.
The BRUSH menu
--------------
Selecting the BRUSH menu causes a list of available brushes/tools to be
displayed. Each tool appears on a button, and the current tool's button will be
depressed. You can select a new tool by clicking on the appropriate button. The
tools available are :
PENCIL
This tool is simply used for drawing freehand. The thickness of the brush is
adjustable.
RECTANGLE
This tool simply draws either hollow or solid rectangles, depending on whether
the left or right mouse button is used. To use the tool, hold down one of the
buttons, and drag out the rectangle. When you have finished, release the mouse
button. The rectangle interior (if applicable) will be drawn in the background
colour, and the rectangle edges will be drawn using the current brush thickness
and the current foreground colour.
BLEND/BLUR
This brush "blends" a small area of the screen. If you repeatedly drag this
tool over the same area, it will become more and more smooth. This brush works
best depending on how many smooth shades there are in the palette.
CUTOUT RECTANGLE
Use this tool identically to the rectangle brush. When you release the mouse
button, the portion of screen that you selected will be cut out. You will see a
cyan border appear around the rectangle. This area is now a cutout, and can be
dragged, manipulated etc.. See the EDIT menu, and section 3.0.
CUTOUT NON-RECTANGLE
This option works as above, but is for cutting out irregular shapes. To use
this, press down on the mouse button, and draw out the shape that you wish to
cut out. Ensure that the line meets up, so that it forms a closed shape. The
line may cross itself with no ill-effects. If you have drawn a valid shape, the
cyan border will appear, and the shape will be cut out.
ZOOM
This tool allows you to make accurate adjustments to your picture, at a
magnified scale. There are two zoom scales available, by using either the
left/right button. Press down one of the buttons, and drag the rectangle that
appears over the area you wish to edit. Release the button, and you will be in
ZOOM mode.
While in ZOOM mode, you will see that an additional "window" has appeared,
floating above the picture. This window shows a "to-scale" copy of the area of
canvas that you are editing. Above the window is a bar containing two buttons -
OK and UNDO. Between the buttons is a blue area. Clicking on this blue area
allows you to drag the window around, in much the same way as the palette.
To draw in ZOOM mode, simply hold down one of the mouse buttons. The left
button will draw in the current foreground colour, and the right one will draw
in the current background colour. You will notice that as you draw on the
screen, what you draw appears in the "to-scale" window.
If you wish to look at a different area of canvas, click on the "to-scale"
window itself, and drag the rectangle that appears around until you have
selected the area you want. Then release the mouse button.
When you have finished drawing in ZOOM mode, you can select either OK to keep
the changes you have made, or UNDO to remove them.
LINE DRAWING
This tool simply allows you to draw straight lines in the current foreground
colour, with the current brush thickness. To draw a line, simply hold down the
mouse button at the start point, move the mouse to the endpoint, and release
the button.
SHADED SPHERE
This tool is quite nifty for special effects, and works best in a grayscale
palette. Drag out a rectangle, and you will then be prompted to enter three
values specifying the direction of the light source. The X axis runs from left
to right horizontally, the Y axis runs from top to bottom vertically, and a
positive Z value implies that the light source is in front of the screen
(towards the viewer). Some sensible values to enter might be : (5,5,10).
FLOOD FILL
This tool allows you to colour in areas that are of one colour. For example, if
you have a solid green rectangle, you can colour it in, in a variety of ways.
There are seven "flood modes", that can be selected from the MISC menu, and
then the FLOOD menu.
The simplest of these will cause the object to be flood-filled in the current
foreground colour. The other options include Vertical Linear, Horizontal
Linear, and Radial. These options cause the object to be shaded in a smooth
blend of the colour range between the current foreground colour and the current
background colour. If the colours in the range are all part of a smooth
changing scale, these fills can be *very* effective.
Note: Due to memory limitations, very complex shapes may not be completely
filled. If this happens, you may have to click a few times on the area to
fill it completely.
PIXELISE
This tool is fairly straightforward - it basically decreases the resolution of
the picture, depending on the current brush thickness. It converts pixels into
larger blocks of the same colour. If the brush is only one pixel thick, then it
will have no effect.
COLOUR CHANGE
This tool changes any pixels which match the current background colour to the
current foreground colour. If you hold down both mouse buttons, this operation
will be carried out on the whole screen.
TEXT
On selecting this tool, click the mouse on some part of the canvas. A text
cursor (_) will appear. You can now type some lines of text, pressing ENTER and
the end of each line, and ESC when you have finished. The text will then be
transferred to the cutout, so that you can position it wherever you want.
ELLIPSE
Allows you to draw an ellipse, filled or hollow. The left mouse button allows
you to draw a filled ellipse, and the right button allows you to draw a hollow
one. The outline colour will be the current foreground colour, and the filling
colour will be the current background colour. To draw the ellipse, click down
on the canvas, and move the mouse around - you will see the ellipse being
dragged out.
SPRAYCAN
Pretty straightforward - the spraycan produces a dotted pattern on the canvas.
The radius of the spray is determined by the current brush size.
IDENTIFY COLOUR
This is a useful tool, if you can see a coloured pixel on screen somewhere, but
there are several similar looking colours in the palette, and you're not sure
which one it is. Select this tool, and click down on the unidentified pixel,
and the current foreground colour will be changed to match the colour of the
pixel.
Also on the brush/tool selection screen are a range of brushes of different
sizes.
The PALETTE menu
----------------
This menu deals with the manipulation of the palette. The first two options, ON
and OFF, simply turn the palette box on and off.
FREE COLS
Sometimes, you may find yourself in a situation where you have run out of
colours. 240 colours can actually be quite limiting. For example, if you are
processing an image that contains predominantly shades of green, and you wish
to draw a new part of the picture that contains lots of red colours, you
may well want to use this option.
You are prompted for a number of colours to free, and VGA Art Studio will then
choose the most suitable colours to eliminate. These colours will be remapped
to black, and the picture itself will be updated, so that pixels that were
originally of one of the freed colours are adjusted to the "next best thing".
It is possible, depending on how the palette has been designed, to free as much
as half the colours, and still hardly be able to notice the difference.
EDIT
This invokes the palette editing screen. The screen is composed of three main
areas :
i) The palette itself, which is in the top left of the screen.
ii) The current foreground colour RGB bars - to the right of
the palette.
iii) The buttons at the bottom the screen.
You can select a current foreground/background colour in the same way as
before, by clicking on the palette with the appropriate mouse button. The
current foreground colour will be displayed in the RGB bar box, so that you can
edit it.
To adjust the current foreground colour, click on the RGB colour bars to set
the appropriate level. By finding the correct mixture of Red, Green and Blue,
you can produce any colour you want. It often takes a little practice to get
the desired effect.
Note, although it is possible to edit the first 16 colours of the palette in
this way, this is not advised, as VGA Art Studio requires these colours to draw
all those nifty menus, etc.
The buttons at the bottom of the screen have the following effects:
"LOAD"
Loads a new palette from disk.
"SAVE"
Saves the current palette to disk.
"OK"
Accepts the changes you have made to the palette, and returns to the main
picture.
"CANCEL"
Cancels any changes you have made, and returns to the main picture.
"BLEND"
Blends the colours between the current foreground colour and the current
background colour. This is exceedingly useful for producing smooth palettes.
"GREY"
Converts all the colours to their monochrome equivalents.
"SEPIA"
Converts the colours to a nice brown palette - quite like the old fashioned
sepia photographs. This tends to work better for pictures that are fairly
bright - darker pictures tend to be converted to a muddy brown.
"MERGE"
Like LOAD, but only loads in the colours in the range between the current
foreground colour and the current background colour. All the other colours are
left unchanged.
"INVERSE"
Remaps all the colours to their colour-negative equivalents. Note - this does
NOT change any of the actual pixel values in the picture/cutout - it just
remaps the palette.
"SORT"
Sorts the colours in order of intensity.
Note - this WILL change pixel values in the picture/cutout - but you won't see
any difference.
The MISC menu
-------------
The MISC menu deals with a few other options that are available.
FLOOD
This option handles the different varieties of shaded flood-fill that are
available - plain, linear horizontal, linear vertical and radial. If you
select a flood style other than the plain one, the next shape that you
flood-fill will be shaded in a smooth blend of colours between the current
foreground and background colours.
UNDO
This option undoes the effect of the last drawing you did on the canvas.
IMPORTANT NOTE!!!
Because of the way VGA Art Studio stores data, and due to memory limitations
imposed by DOS, while you have a cutout floating around, you cannot use the
UNDO option. Normally this is not a problem, but any drawing that is done using
the 'Drawing with the cutout' method (See 3.0) cannot be undone.
-----------------------------------------------------------------------------
3.0 Extra notes on manipulating the cutout
==============================================
When there is a cutout 'floating' above the picture, there are some useful
points that are worth knowing about.
When dragging the cutout around or placing the cutout in its destination, any
pixels in the cutout that match the current background colour will be
transparent. If you find that your cutout has a few undesired 'holes' in it,
this is the reason - the remedy is to select a background colour that has not
been used in the cutout.
A really nifty feature that you can use is 'drawing with the cutout'. This
works best with fairly small cutouts, depending on how fast your PC is at
drawing. While dragging the cutout around the screen, holding down the CTRL key
will cause the cutout to act as though it were a brush. This can be VERY
effective. Note - the UNDO option cannot be used after doing this. (See the
MISC, UNDO option).
Normally when you pick up a cutting, an area of the background colour is left
behind. If you want to avoid that (or if you want to just make a duplicate of
the cutout at some point), release the mouse buttons, then while holding down
the SHIFT key, pick up the cutout, and drag it using the mouse. This will have
the effect of leaving behind on the picture a copy of the cutout.
--------------------------------------------------------------------------
Appendix A: VGA Art Studio .ART and .PAL file formats
=========================================================
The .ART file
-------------
All VGA Art Studio picture/cutout files are stored in this format. In fact,
there is no distinction between a picture or a cutout - a picture can be pasted
in as a cutting, and a cutting can be loaded in as a file.
There are essentially two image formats - compressed and uncompressed. Before
saving a file, VGA Art Studio works out which format will actually result in a
smaller file, and then saves the file in this format. Actually, it is not quite
as simple as that - each image may need a 'mask', and whether or not they the
mask is compressed is independent of whether or not the picture itself is
compressed. However, the file format is still relatively easy to use, and is as
follows :
+----------+-----------------------------------------------------+-------+
| Offset | Description | Bytes |
+----------+-----------------------------------------------------+-------+
| 0 | 123 dec. (acts as a file identifier) | 1 |
| 1 | Mask included? (1=yes, 0=no) | 1 |
| 2 | Size (x) in pixels of the image - INTEL format | 2 |
| 4 | Size (y) in pixels of the image - INTEL format | 4 |
| 6 | Image data compressed? (1=yes, 0=no) | 1 |
| 7 | Mask data compressed ? (1=yes, 0=no) | 1 |
| 8 | Palette data - 256 x (R,G,B) triplets, with | 768 |
| | individual intensities from 0..255 | |
| 776 | Image data (may be compressed) | ??? |
| ??? | (optional) Mask data (may be compressed) | ??? |
+----------------------------------------------------------------+-------+
As mentioned, both the image data and the mask data may be compressed depending
on the values in bytes 6 and 7 of the header. The two formats are the same for
both the mask and the image, and work as follows:
The data in its uncompressed form consists of 64000 bytes, in a straight
forward raster format - with 1 byte per pixel - (acting as an index into the
palette in the case of image data - in the case of mask data, a non-zero value
indicates that the corresponding image pixel IS to be displayed). The bytes are
stored row by row, with each row running from left to right, in standard raster
format.
In the compressed format, the algorithm for uncompressing the data runs as
follows :
+-----------------------------+
| Read the next byte of data |
| from the file, (unless we |<-------------------------------------------+
| now have data for 64000 | |
| pixels, in which case stop).| |
+-----------------------------+ |
| |
\ / |
+--------------------+ Y +----------------------------------+ |
| Is the byte <128 ? |--------->| Use this byte for the next pixel |----+
+--------------------+ +----------------------------------+ ^
| N |
\ / |
+--------------------------------------------------------------------+ |
| Subtract 128 from the value of the byte - call this C. Then read | |
| the next byte - this gives you the colour of the next (C+1) |-----+
| pixels. |
+--------------------------------------------------------------------+
Note:
Compressed data is stored a line at a time. Compression using a byte >128 as a
repeat count MUST NOT wrap round from one line to the beginning of the next.
The .PAL file
-------------
This is very very straightforward. Each file is 769 bytes long, and consists of
the following data:
+----------+-----------------------------------------------------+-------+
| Offset | Description | Bytes |
+----------+-----------------------------------------------------+-------+
| 0 | 124 dec. (acts as a file identifier) | 1 |
| 1 | Palette data - 256 x (R,G,B) triplets, with | 768 |
| | individual intensities from 0..255 | |
+----------------------------------------------------------------+-------+
----------------------------------------------------------------------------
Appendix B : The printer interface
=========================================
EPSON PRINTER SUPPORT
---------------------
Printing the screen to an Epson printer is possible in a variety of different
formats. Upon invoking the Epson FX-80/Compatible interface screen, you will
see a number of buttons, and a graph at the bottom of the screen. The buttons
allow you to select the orientation, size and detail of the print image. Note,
that due to the way a dot-matrix printer works, the larger the picture, and the
higher the resolution that is selected, the more shades of grey can be printed,
up to a maximum of 16. This is reflected in the graph at the bottom of the
screen, which plots screen intensity (x axis) against printer intensity (y
axis). Clicking and dragging the mouse within the rectangle that bounds the
graph allows you to draw a new one, thus adjusting the overall contrast and
brightness of the picture. A little experimentation is called for!
Clicking on the BARS button will cause the printer to produce a grayscale
output that reflects the current settings. This is quite useful for determining
how the picture will come out.
Some of the less self-explanatory options are dithering and the line feed
measurement. Dithering will produce a picture that consists of many "random"
dots, giving a stippled effect. A reasonable value for the dithering factor is
anything from 0 to 128. Again, you will need to experiment to find the best
settings. The line feed measurement allows you to change the amount by which
the paper is advanced at each line. With any luck, its default setting should
be suitable, but sadly this is not the case for all printers, so again, you
will have to find the best setting for your printer.
Once you have found a reasonable printer profile, you can save it by using the
SAVE button. This profile can then be loaded in each time you want to print
something.
------------------------------------------------------------------------------
Appendix C : The ART2ART conversion utility
===========================================
It was my original intention to produce a utility that would convert between
the .ART files and Zsoft's .PCX format, as this is a widely used image
format. However, I have not had the time to do this - perhaps someone else
will! (if you do, drop me a line!!!)
The ART2ART utility however, exists to make things slightly easier -
you can use it to convert .ART files to either compressed or uncompressed
format - if you are a programmer, designing sprites, for example, you will
probably find the uncompressed .ART format easier to work with. To get this,
type :
art2art input.art output.art 0
The '0' forces no compression. A '1' forces compression. Specifying neither
0 nor 1 will cause the program to determine which is most efficient.
For further details on the .ART format, see Appendix A.
----------------------------------------------------------------------------
Appendix D : About Mooose Software
==================================
"Founded" in 1990 by :
Ben Stragnell
Graham Sanderson
Samer Abdallah
\ \ / \/ ___//
\_ / // \] //~~~
\\ ]] // //
\__\ _]_\_ _\\ __/\//
__ _____\ /_\// _
__ _/ \/~~~~~~\/ \__ //
_/ ] ] \/
/] / \ ]
/ ](0 0)]
/ ] ]
____________~ ] ]
\ < > /
/ \______/
] ]
]
]
The moose is without doubt one of the finest animals ever invented, its
majestic antlers towering skyward, as it stands proudly, one of Nature's
most cunning creations. It's also got a really cool name, and you can put
an extra 'o' in it, to make it last just that little bit longer. Oh yes.
Keep an eye out for more releases from Mooose Software, and please support
the Public Domain!